package com.ccys.app.service.impl;

import com.alibaba.fastjson.JSONObject;
import com.ccys.app.service.MemberService;
import com.ccys.common.constants.*;
import com.ccys.common.enums.CodeEnum;
import com.ccys.common.third.mailGun.MailgunUtil;

import com.ccys.common.util.*;


import com.ccys.common.vo.ResponseResultApp;
import com.ccys.db.cache.UserUtil;
import com.ccys.db.dto.login.*;

import com.ccys.db.dto.member.ActivatePinCodeDto;
import com.ccys.db.dto.member.RequestPinCodeDto;
import com.ccys.db.entity.TblCountry;
import com.ccys.db.entity.TblMember;
import com.ccys.db.mapper.TblCountryMapper;
import com.ccys.db.mapper.TblMemberMapper;
import com.ccys.db.rely.service.impl.BaseServiceImpl;

import com.ccys.db.service.BaseSysCodeService;
import com.ccys.db.vo.member.ActivateAccountVO;
import com.ccys.db.vo.member.ConsultAddressVO;
import com.ccys.db.vo.member.LoginErrorVO;

import com.ccys.db.vo.member.ReminderVO;
import com.netflix.config.ConfigurationManager;
import lombok.extern.slf4j.Slf4j;


import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.lang.reflect.InvocationTargetException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

import static com.ccys.common.vo.ResponseResult.error;


@Slf4j
@Service
public class MemberServiceImpl extends BaseServiceImpl<TblMember> implements MemberService {

    @Autowired(required = false)
    private TblMemberMapper memberMapper;
    private static Lock lock = new ReentrantLock();
    @Autowired(required = false)
    private BaseSysCodeService baseSysCodeService;

    @Autowired(required = false)
    private TblCountryMapper tblCountryMapper;




}